支持使用配置交易实现RBFT到NoxBFT的线上切换
解决联盟网络中存在拜占庭节点时,系统整体延迟和吞吐量受限的问题。大大提高了系统的鲁棒性,减少了拜占庭节点的影响。
针对跨合约调用场景,采用合约名+地址的绑定关系维护,以解决被调用合约更新升级带来的地址变动问题,增加使用友好性.
支持支持HVM合约并行调用
包括交易验签插件化实现、TEE插件化实现、GPU和密码卡插件化实现。
支持中心化CA线上切换为分布式CA。
支持kafka的PLAINTEXT,SASL_SSL,SASL_PLAINTEXT、SSL四种协议模式。
- RBFT去重优化,解决了归档前提下的集群不一致问题;
- MQ内存管理和存储管理优化,解决了内存泄漏和占用存储量过大的问题;
- NoxBFT性能优化:交易打包策略优化,提案提前打包;Recovery机制优化,提升了节点落后恢复和宕机重启恢复时的效率;
- Multicache性能优化,降低了宕机数据恢复功能造成的整体性能损失;
- HVM的native代码逻辑优化,提升合约调用场景性能。
趣链区块链浏览器(内嵌版BAAS),可基于web页面实现区块查看、节点管理、合约管理等功能
联盟链激励技术支持,支持根据gas值进行交易打包排序;支持RBFT共识算法线下切换为NoxBFT共识算法
可减轻网络压力,轻节点只存储少量数据,通过证明来实现功能
异常情况恢复的数据完整性保证,提供在服务器宕机重启情况下的数据恢复和一致性保障【注:该功能可通过配置项开启或关闭,默认开启以保障生产数据的安全性,但是会带来明显的性能降低,如对性能要求较高,可通过修改相关配置项为false以关闭此功能】
应用层可直接基于GRPC接口构建消息推送服务,无需借助第三方MQ【注:GRPC接口目前仅支持交易类接口,具体接口清单可参考GRPC接口文档】
新增功能并统一了TEE和零知识证明的对外接口【注:SGX WASM功能需基于特定硬件】
- NoxBFT共识算法的全面优化重构,包括检查点机制、批量验签、持久化和数据恢复等方面,在效率和稳定性方面均有提升
- 交易池性能优化,提高共识效率
- Solo版本性能优化,优化后无验签版本可达10wTPS,带验签版本可达6wTPS
- syncchain流程的优化和重构,为灰度升级做准备
- 存储模块检查点机制的优化,提升存储对上层模块的请求响应速度
- 存储模块各db迭代器一致性修改,优化代码逻辑
- API层增加验签功能,以实现在接口层面过滤非法交易
- 对网络层逻辑握手代码进行优化重构,提升对重复消息的容错能力,并且对握手流程中出现的错误,可以根据握手状态进行纠正
- 完成部分链级配置上链,为灰度升级做准备
- 节点增删功能优化,简化了中心CA场景下的增删节点流程
- 对称加解密算法、哈希算法的解耦合:关键密码算法通过接口调用,算法类型统一配置,降低模块间耦合
- 对kvsql执行引擎的gas机制重构优化:解决锁争用带来的性能问题;优化out of gas信息返回的方式;解决部分gas扣费不合理的问题
- 优化EVM虚拟机,允许在EVM合约使用create2指令,实现在未部署合约的情况下预留出合约地址并与地址交互
- 优化数据同步功能,可支持Flato新增节点同步旧版hyperchain历史数据
- 优化节点发现频率,以解决在某些异常场景下节点长时间无法被其他节点发现的问题
- 优化虚拟机模块,完成HVM和kvsql模块(支持链上SQL执行)的浮点数问题修复
- 优化密码模块,所有map数据结构均替换为syncmap,以解决并发问题
- 优化rbft模块,新增stable-checkpoint签名机制,为后续rbft与noxbft两种共识算法的整合做准备。
- 对签名长度做校验,优化设置签名内容错误的情况下,导致节点panic的问题
- 修复license替换,节点重启失败后,没有报license相关的错误提醒
- 修复节点定期检查license失败的情况
- 修复向非vp节点注册signed类型的队列会导致节点panic的问题
- 修复分布式CA新增节点过程中执行ns stop命令时,命令卡住问题
- 修复nvp与vp重连时多次出现duplicate metrics collector registration
- 优化/修改time.Timer的用法,加快物理连接重连速度
- 修复 cvp在与vp建立连接后可能出现db closed的错误
- 修复mq模块的内存泄漏问题
- 增加对数字资产账户支持
- 新增合约数字资产接口以及链账户操作接口
- 新增ToC场景下的账户、权限管理体系
- 支持对子公司部署的链进行合约部署权限的管控
- 对试用版license的在线管控
完成创世状态上链需求,以更好的支持节点增删等操作,并为数字资产功能以及后续的灰度升级功能打下基础
- 完成noxbft配置交易功能
- 新增grpc接口服务,支持grpc双向流模式
- 完成非法交易重构,非法交易在所有节点上落盘,以解决交易去重结果不一致的风险
- 完成namespace启停优化,规范了各组件的启停顺序以及组件内部的启停流程,避免在单个namespace启停时出现卡住、panic等问题
- 完成共识交易池重构,提升共识性能
- 完成kvsql(一键链改)性能优化,分别从预处理、IO和执行三方面进行了优化,提升kvsql执行性能
- 完成节点发现优化功能对于分布式CA的适配
趣链区块链平台 V2.0.11新增一键链改功能,支持 mysql 历史数据平滑迁移至底层平台 sql 执行引擎,并支持使用 SQL 语句进行增删改查。
趣链区块链平台 V2.0.11接入NoxBFT共识算法。 NoxBFT共识算法可有效解决大规模节点组网场景下共识效率低下、可扩展性不强的问题。
趣链区块链平台 V2.0.11优化了CVP节点功能,新增了拦截器以及证书同步功能。
趣链区块链平台 V2.0.11优化了节点发现问题,增大了新增节点场景下组网成功的概率。
趣链区块链平台 V2.0.11优化了HVM性能,并优化了HVM合约升级时的处理逻辑,防范不规范的合约升级行为。
趣链区块链平台 V2.0.8新增DID数字身份功能,自主可控、全域自发现的分布式数字身份,将用户身份的管控权归还用户,并打破跨平台间的信息屏障。一个用户数字身份由DID、DID文档、可验凭证三部分组成,每一个DID都必须拥有唯一的DID文档,但拥有不定数量的可验证凭证。
更多关于DID数字身份的介绍及使用方法,请参考《DID证书账户使用手册》
趣链区块链平台 V2.0.8新增CVP灾备切换功能,提供专门的灾备节点CVP,能在VP发生异常宕机时可快速升级为VP,参与共识,并提供和原VP同等的区块链服务,备份内容包括账本数据与配置文件。
更多关于CVP灾备切换的介绍及使用方法,请参考《CVP使用手册》
趣链区块链平台 V2.0.8新增分区扁平化功能,不同分区间完全隔离,节点无需加入global分区即可自行组建分区及连通网络,且宕机不影响其他分区正常运行。
在大规模多分区部署区块链网络的场景下,如果所有节点都在global分区下,那么其网络架构将非常复杂,因此需要进行分区扁平化的设计。尤其在主侧链场景中,侧链之间的网络是很难通信的,也无需通信,所以需要扁平化。因此设计了该功能,以实现:
- 每四个及以上个数节点可以组成一个分区,分区内的节点建立物理和逻辑连接;
- 支持自由模式和管理模式;自由模式:所有节点可以自行建立分区;管理模式:节点建立分区需依赖于global。
- 分区节点可增删,管理模式下分区节点的增删需依赖于global。
更多关于分区扁平化的介绍及使用方法,请参考《分区共识使用手册》
趣链区块链平台 V2.0.8新增节点发现功能,不需要显式配置所有直连节点的网络地址,只需要在集群网络已经是一个连通图的前提下,配置集群内一个或以上个节点的 IP 地址和端口号即可让正在启动节点与集群里的同一个分区(namespace)下的所有节点建立起网络连接,从而达到网络配置简化的目的。
更多关于节点发现的介绍及使用方法,请参考《跨域网络使用手册》
趣链区块链平台 V2.0.8新增可信文件共享功能,可信文件共享是区块链技术与文件存储技术高度结合的产物,是文件存储与共享的安全港,具有安全存储、可信共享两大特征。一个文件保险箱的组成部分有区块链网络、区块链节点、文件空间。其中索引信息不仅包括文件的查询索引,还记录着文件的节点存储权限(哪些节点可以存储该文件)以及用户下载权限(哪些用户可以下载该文件),该权限经区块链共识记录,不可篡改。
更多关于可信文件共享的介绍及使用方法,请参考 《文件保险箱-用区块链保护文件》<https://mp.weixin.qq.com/s/py_-0Dtkba1wrdfVOMIlvA>
趣链区块链平台 V2.0.8新增链上证书吊销功能,解决CA吊销证书到通知区块链各节点可能存在较长时间差的时效性问题及无法实现证书吊销后不再被网络所信任的原子性问题,实现:
- 证书吊销操作以交易的形式在链上被执行,执行后,证书失效,相关逻辑连接断开;
- 链上将记录失效证书;
- 将证书生效后的管理能力与区块链交易结合,实现链上证书管理。
趣链区块链平台 V2.0.8对验签性能进行了优化,一个是从API接收到的交易直接进行验签,一个是从其他节点转发过来的交易会在执行阶段进行验签。
趣链区块链平台 V2.0.8对一体机TEE开发进行了优化,在一体机环境下,账本加密针对用户的账户信息和业务数据进行按需加密操作,将密钥存储在TEE硬件可信执行环境中,账本数据通过TEE的密钥进行加解密。
趣链区块链平台 V2.0.8优化了分布式ca新增节点组网。解决新增节点组网时,老节点由于异常导致等待提案超时,从而给新节点发送reject消息,导致新节点宕机问题。
趣链区块链平台 V2.0.8优化了网络重构物理连接建立机制,V2.0.8以前版本 规定物理连接只能字典序大的节点作为发起方(也就是client端),V2.0.8版本不再有这个硬性要求,即只要是连接发起方,就可作为client端,而不需要关心hostname字典序。
趣链区块链平台 V2.0.8优化了RPC拦截器,解决由于Before() 和 After() 方法实现上存在相互依赖关系而导致的问题。
趣链区块链平台 V2.0.8优化了CNS。为确保场景合理性,V2.0.8变更为CNS管理由合约管理员负责,并进行其相关联的CNS提案发起者、投票者等整体变更。